package template.entity;

import javax.swing.*;
import java.awt.*;

/**
 * 程序窗口JFrame
 * 我们扩展了JFrame,它包含一个update()方法,
 * 这个方法控制更新屏幕的算法.我们可以通过覆盖paint()钩子方法和这个算法挂上钩
 *
 * @author yaojianfeng
 */
public class MyFrame extends JFrame {
    /**
     * 初始化JFrame框架
     * @param title 标题
     */
    public MyFrame(String title){
        super(title);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setSize(300,300);
        this.setVisible(true);
    }

    /**JFrame 的更新算法 ,默认是不做事儿的
     * 覆盖钩子方法 告诉JFrame在窗口上画出一条消息
     * @param graphics 参数
     */
    @Override
    public void paint(Graphics graphics){
        super.paint(graphics);
        String msg = "I rule!!!";
        graphics.drawString(msg,100,100);
    }

    public static void main(String[] args) {
        MyFrame myFrame = new MyFrame("这是一个可视化窗口");
    }


}
